﻿using SheepStorage.Domain.DTO.Output;
using SheepStorage.Domain.Entity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SheepStorage.Service.Interface
{
    public interface ISheepMarkService 
    {
        /// <summary>
        /// 羊只戴标列表
        /// </summary>
        /// <param name="overBit"></param>
        /// <param name="elEarTag"></param>
        /// <param name="newElEarTag"></param>
        /// <param name="taggingReason"></param>
        /// <param name="labeledState"></param>
        /// <returns></returns>
        Task<PageOutput<SheepMark>> GetSheepMarks(int pageIndex,int pageSize,string? overBit,string? elEarTag, string? newElEarTag,int taggingReason,int labeledState);
        /// <summary>
        /// 戴标添加
        /// </summary>
        /// <param name="sheepMark"></param>
        /// <returns></returns>
        Task<int> AddSheepMarks(SheepMark sheepMark);
        /// <summary>
        /// 戴标删除
        /// </summary>
        /// <param name="sheepMarkId"></param>
        /// <returns></returns>
        Task<int> DelSheepMarks(int sheepMarkId);
        /// <summary>
        /// 戴标批删
        /// </summary>
        /// <param name="SheepMarkIds"></param>
        /// <returns></returns>
        Task<int> BatchDelSheepMarks(List<int> sheepMarkIds);
        /// <summary>
        /// 戴标反填
        /// </summary>
        /// <param name="SheepMarkId"></param>
        /// <returns></returns>
        Task<SheepMark> GetSheepMark(int sheepMarkId);
        /// <summary>
        /// 戴标修改
        /// </summary>
        /// <param name="sheepMark"></param>
        /// <returns></returns>
        Task<int> UpdSheepMarks(SheepMark sheepMark);


        
    }
}
